<template>
    <div id="v-header">
        <div class="content-wrapper">
            <!-- 商标 -->
            <div class="avatar">
                <img width="64" height="64" :src="'http://localhost:8084/pic/' + seller.pic" alt="">
            </div>
            <!-- 商家内容 -->
            <div class="content">
                <!-- 商家名 -->
                <div class="title">
                    <span class="brand"></span>
                    <span class="name">{{seller.name}}</span>
                </div>
                <!-- 配送方式和送达时间 -->
                <div class="description">
                    {{seller.description}}/{{seller.deliveryTime}}分钟上菜
                </div>
                <!-- 商家优惠信息 -->
                <div v-if="seller.supports" class="supports">
                    <span class="icon" :class="classMap[seller.supports[0].type]"></span>
                    <span class="text">{{seller.supports[0].description}}</span>
                </div>
            </div>
            <!-- 商家活动入口 -->
            <div v-if="seller.supports" class="support-count" @click="showDetail">
                <span class="count">{{seller.supports.length}}个</span>
                <i class="icon-keyboard_arrow_right"></i>
            </div>
        </div>
        <!-- 底部公告内容 -->
        <div class="bulletin-wrapper" @click="showDetail">
            <span class="bulletin-title"></span><span class="bulletin-text">{{seller.bulletin}}</span>
            <i class="icon-keyboard_arrow_right"></i>
        </div>
        <!-- 顶部模糊背景 -->
        <div class="background">
            <img :src="'http://localhost:8084/pic/' + seller.pic" width="100%" height="100%" alt="">
        </div>
        <!-- 活动详情弹层页 -->
        <transition name="fade">
            <div v-show="detailShow" class="detail">
                <div class="detail-wrapper clearfix">
                    <div class="detail-main">
                        <h1 class="name">{{seller.name}}</h1>
                        <!-- 星级图标显示 -->
                        <div class="star-wrapper">
                            <star :size="48" :score="seller.score"></star>
                        </div>
                        <!-- 自适应 优惠信息-活动标头 -->
                        <div class="title">
                            <div class="line"></div>
                            <div class="text">优惠信息</div>
                            <div class="line"></div>
                        </div>
                        <!-- 优惠信息列表 -->
                        <ul v-if="seller.supports" class="supports">
                            <li class="support-item" v-for="(item,index) in seller.supports" :key="index">
                                <span class="icon" :class="classMap[seller.supports[index].type]"></span>
                                <span class="text">{{seller.supports[index].description}}</span>
                            </li>
                        </ul>
                        <!-- 自适应 商家公告-标头 -->
                        <div class="title">
                            <div class="line"></div>
                            <div class="text">商家公告</div>
                            <div class="line"></div>
                        </div>
                        <!-- 公告内容 -->
                        <div class="bulletin">
                            <p class="content">{{seller.bulletin}}</p>
                        </div>
                    </div>
                </div>
                <!-- 底部关闭按钮 -->
                <div class="detail-close" @click="hideDetail">
                    <i class="icon-close"></i>
                </div>
            </div>
        </transition>
    </div>
</template>

<script>
import Star from 'components/star/star';
export default {
    name: 'v-header',
    data () {
        return {
            detailShow: false
        }
    },
    methods: {
        showDetail () {
            this.detailShow = true;
        },
        hideDetail () {
            this.detailShow = false;
        }
    },
    components: {
        Star
    },
    props: {
        seller: {
            type: Object
        }
    },
    created () {
        this.classMap = ['discount', 'decrease', 'special', 'invoice', 'guarantee'];
    }
}
</script>

<style lang='stylus' scoped>
    @import '../../common/stylus/mixin.styl'

    #v-header
        position : relative
        overflow : hidden
        color : white
        background : rgba(7,17,27,0.5)
        .content-wrapper
            position : relative
            padding : 24px 12px 18px 24px
            font-size : 0
            .avatar
                display : inline-block
                vertical-align : top
                img
                    border-radius : 2px
            .content
                display : inline-block
                margin-left : 16px
                font-size : 14px
                .title
                    margin : 2px 0 8px 0
                    .brand
                        display : inline-block
                        vertical-align : top
                        width : 30px
                        height :18px
                        bg-image('brand')
                        background-size : 30px 18px
                        background-repeat : no-repeat
                    .name
                        vertical-align : top
                        margin-left : 6px
                        font-size : 16px
                        line-height : 18px
                        font-weight : bold
                .description
                    margin-bottom : 10px
                    line-height : 12px
                    font-size : 12px
                .supports
                    .icon
                        vertical-align : top
                        display : inline-block
                        width : 12px
                        height : 12px
                        margin-right : 4px
                        background-size : 12px 12px
                        background-repeat : no-repeat
                        &.decrease
                            bg-image('decrease_1')
                        &.discount
                            bg-image('discount_1')
                        &.guarantee
                            bg-image('guarantee_1')
                        &.invoice
                            bg-image('invoice_1')
                        &.special
                            bg-image('special_1')
                    .text
                        line-height : 12px
                        font-size : 10px
            .support-count
                position : absolute
                right : 12px
                bottom : 14px
                padding : 0 8px
                height :24px
                line-height : 24px
                border-radius : 24px
                background : rgba(0,0,0,0.2)
                text-align : center
                .count
                    font-size : 10px
                .icon-keyboard_arrow_right
                    vertical-align : top
                    margin-left : 2px
                    line-height : 24px
                    font-size : 10px
        .bulletin-wrapper
            position : relative
            height :28px
            line-height : 28px
            padding : 0 22px 0 12px
            overflow : hidden
            white-space : nowrap
            text-overflow : ellipsis
            background : rgba(7,17,27,0.2)
            .bulletin-title
                vertical-align : top
                display : inline-block
                margin-top : 6px
                width : 22px
                height : 12px
                line-height 12px
                bg-image('bulletin')
                background-size : 22px 12px
                background-repeat : no-repeat
            .bulletin-text
                vertical-align : top
                margin : 0 4px
                font-size : 10px
            .icon-keyboard_arrow_right
                position : absolute
                right : 12px
                top : 8px
                font-size : 10px
        .background
            position : absolute
            top : 0
            left : 0
            width : 100%
            height : 100%
            z-index : -1
            filter : blur(10px)
        .detail
            position : fixed
            top : 0
            left : 0
            z-index : 100
            width : 100%
            height : 100%
            overflow : auto
            transition : all 0.5s
            background : rgba(7,17,27,0.8)
            backdrop-filter : blur(10px)
            &.fade-enter,&.fade-leave-to
                opacity : 0
                background : rgba(7,17,27,0)
            .detail-wrapper
                width : 100%
                min-height : 100%
                .detail-main
                    margin-top : 64px
                    padding-bottom : 64px
                    .name
                        line-height : 16px
                        text-align : center
                        font-size : 16px
                        font-weight : 700
                    .star-wrapper
                        margin-top : 18px
                        padding : 2px 0
                        text-align : center
                    .title
                        display : flex
                        width : 80%
                        margin 28px auto 24px auto
                        .line
                            flex: 1
                            position : relative
                            top :-6px
                            border-bottom : 1px solid rgba(255,255,255,.2)
                        .text
                            padding : 0 12px
                            font-size : 14px
                            font-weight : 700
                    .supports
                        width : 80%
                        margin 0 auto
                        .support-item
                            padding : 0 12px
                            margin-bottom : 12px
                            font-size : 0
                            &:last-child
                                margin-bottom : 0
                            .icon
                                display : inline-block
                                width : 16px
                                height : 16px
                                vertcal-align : top
                                margin-right : 6px
                                background-size : 16px 16px
                                background-repeat : no-repeat
                                &.decrease
                                    bg-image('decrease_2')
                                &.discount
                                    bg-image('discount_2')
                                &.guarantee
                                    bg-image('guarantee_2')
                                &.invoice
                                    bg-image('invoice_2')
                                &.special
                                    bg-image('special_2')
                            .text
                                vertical-align : top
                                line-height : 16px
                                font-size : 12px
                    .bulletin
                        width : 80%
                        margin : 0 auto
                        .content
                            padding : 0 12px
                            line-height : 24px
                            font-size : 12px

            .detail-close
                position : relative
                width : 32px
                height : 32px
                margin -64px auto 0 auto
                clear : both
                font-size : 32px
</style>
